// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.highlighter;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/highlighter")
public abstract class HighlightingTestGenerated extends AbstractHighlightingTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighter/deprecated")
    public static class Deprecated extends AbstractHighlightingTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("Class.kt")
        public void testClass() throws Exception {
            runTest("testData/highlighter/deprecated/Class.kt");
        }

        @TestMetadata("ClassObject.kt")
        public void testClassObject() throws Exception {
            runTest("testData/highlighter/deprecated/ClassObject.kt");
        }

        @TestMetadata("Constructor.kt")
        public void testConstructor() throws Exception {
            runTest("testData/highlighter/deprecated/Constructor.kt");
        }

        @TestMetadata("ExtensionFunction.kt")
        public void testExtensionFunction() throws Exception {
            runTest("testData/highlighter/deprecated/ExtensionFunction.kt");
        }

        @TestMetadata("Function.kt")
        public void testFunction() throws Exception {
            runTest("testData/highlighter/deprecated/Function.kt");
        }

        @TestMetadata("Get.kt")
        public void testGet() throws Exception {
            runTest("testData/highlighter/deprecated/Get.kt");
        }

        @TestMetadata("Getter.kt")
        public void testGetter() throws Exception {
            runTest("testData/highlighter/deprecated/Getter.kt");
        }

        @TestMetadata("Inc.kt")
        public void testInc() throws Exception {
            runTest("testData/highlighter/deprecated/Inc.kt");
        }

        @TestMetadata("Interface.kt")
        public void testInterface() throws Exception {
            runTest("testData/highlighter/deprecated/Interface.kt");
        }

        @TestMetadata("Invalid.kt")
        public void testInvalid() throws Exception {
            runTest("testData/highlighter/deprecated/Invalid.kt");
        }

        @TestMetadata("Invoke.kt")
        public void testInvoke() throws Exception {
            runTest("testData/highlighter/deprecated/Invoke.kt");
        }

        @TestMetadata("Operation.kt")
        public void testOperation() throws Exception {
            runTest("testData/highlighter/deprecated/Operation.kt");
        }

        @TestMetadata("OperationSuppressedDeprecation.kt")
        public void testOperationSuppressedDeprecation() throws Exception {
            runTest("testData/highlighter/deprecated/OperationSuppressedDeprecation.kt");
        }

        @TestMetadata("Property.kt")
        public void testProperty() throws Exception {
            runTest("testData/highlighter/deprecated/Property.kt");
        }

        @TestMetadata("RangeTo.kt")
        public void testRangeTo() throws Exception {
            runTest("testData/highlighter/deprecated/RangeTo.kt");
        }

        @TestMetadata("Setter.kt")
        public void testSetter() throws Exception {
            runTest("testData/highlighter/deprecated/Setter.kt");
        }

        @TestMetadata("SuperCall.kt")
        public void testSuperCall() throws Exception {
            runTest("testData/highlighter/deprecated/SuperCall.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighter/suppress")
    public static class Suppress extends AbstractHighlightingTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("AllSuppressed.kt")
        public void testAllSuppressed() throws Exception {
            runTest("testData/highlighter/suppress/AllSuppressed.kt");
        }

        @TestMetadata("Class.kt")
        public void testClass() throws Exception {
            runTest("testData/highlighter/suppress/Class.kt");
        }

        @TestMetadata("Diagnosics.kt")
        public void testDiagnosics() throws Exception {
            runTest("testData/highlighter/suppress/Diagnosics.kt");
        }

        @TestMetadata("File.kt")
        public void testFile() throws Exception {
            runTest("testData/highlighter/suppress/File.kt");
        }

        @TestMetadata("Functions.kt")
        public void testFunctions() throws Exception {
            runTest("testData/highlighter/suppress/Functions.kt");
        }

        @TestMetadata("Parameter.kt")
        public void testParameter() throws Exception {
            runTest("testData/highlighter/suppress/Parameter.kt");
        }

        @TestMetadata("Unused.kt")
        public void testUnused() throws Exception {
            runTest("testData/highlighter/suppress/Unused.kt");
        }

        @TestMetadata("WithComment.kt")
        public void testWithComment() throws Exception {
            runTest("testData/highlighter/suppress/WithComment.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighter")
    public static class Uncategorized extends AbstractHighlightingTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("Annotations.kt")
        public void testAnnotations() throws Exception {
            runTest("testData/highlighter/Annotations.kt");
        }

        @TestMetadata("AutoCreatedItParameter.kt")
        public void testAutoCreatedItParameter() throws Exception {
            runTest("testData/highlighter/AutoCreatedItParameter.kt");
        }

        @TestMetadata("DataClass.kt")
        public void testDataClass() throws Exception {
            runTest("testData/highlighter/DataClass.kt");
        }

        @TestMetadata("DataObject.kt")
        public void testDataObject() throws Exception {
            runTest("testData/highlighter/DataObject.kt");
        }

        @TestMetadata("DefinitelyNonNullableType.kt")
        public void testDefinitelyNonNullableType() throws Exception {
            runTest("testData/highlighter/DefinitelyNonNullableType.kt");
        }

        @TestMetadata("DelegateFunctionMissing.kt")
        public void testDelegateFunctionMissing() throws Exception {
            runTest("testData/highlighter/DelegateFunctionMissing.kt");
        }

        @TestMetadata("DelegatingCtor.kt")
        public void testDelegatingCtor() throws Exception {
            runTest("testData/highlighter/DelegatingCtor.kt");
        }

        @TestMetadata("Destructuring.kt")
        public void testDestructuring() throws Exception {
            runTest("testData/highlighter/Destructuring.kt");
        }

        @TestMetadata("Dynamic.kt")
        public void testDynamic() throws Exception {
            runTest("testData/highlighter/Dynamic.kt");
        }

        @TestMetadata("Enums.kt")
        public void testEnums() throws Exception {
            runTest("testData/highlighter/Enums.kt");
        }

        @TestMetadata("Field.kt")
        public void testField() throws Exception {
            runTest("testData/highlighter/Field.kt");
        }

        @TestMetadata("Functions.kt")
        public void testFunctions() throws Exception {
            runTest("testData/highlighter/Functions.kt");
        }

        @TestMetadata("InaccessibleExpression.kt")
        public void testInaccessibleExpression() throws Exception {
            runTest("testData/highlighter/InaccessibleExpression.kt");
        }

        @TestMetadata("InvokeCall.kt")
        public void testInvokeCall() throws Exception {
            runTest("testData/highlighter/InvokeCall.kt");
        }

        @TestMetadata("JavaTypes.kt")
        public void testJavaTypes() throws Exception {
            runTest("testData/highlighter/JavaTypes.kt");
        }

        @TestMetadata("KDoc.kt")
        public void testKDoc() throws Exception {
            runTest("testData/highlighter/KDoc.kt");
        }

        @TestMetadata("KotlinInJavaInjection.java")
        public void testKotlinInJavaInjection() throws Exception {
            runTest("testData/highlighter/KotlinInJavaInjection.java");
        }

        @TestMetadata("KotlinInjection.kt")
        public void testKotlinInjection() throws Exception {
            runTest("testData/highlighter/KotlinInjection.kt");
        }

        @TestMetadata("Labels.kt")
        public void testLabels() throws Exception {
            runTest("testData/highlighter/Labels.kt");
        }

        @TestMetadata("NamedArguments.kt")
        public void testNamedArguments() throws Exception {
            runTest("testData/highlighter/NamedArguments.kt");
        }

        @TestMetadata("NonNullAssertion.kt")
        public void testNonNullAssertion() throws Exception {
            runTest("testData/highlighter/NonNullAssertion.kt");
        }

        @TestMetadata("Object.kt")
        public void testObject() throws Exception {
            runTest("testData/highlighter/Object.kt");
        }

        @TestMetadata("PropertiesWithPropertyDeclarations.kt")
        public void testPropertiesWithPropertyDeclarations() throws Exception {
            runTest("testData/highlighter/PropertiesWithPropertyDeclarations.kt");
        }

        @TestMetadata("RecursiveTypes.kt")
        public void testRecursiveTypes() throws Exception {
            runTest("testData/highlighter/RecursiveTypes.kt");
        }

        @TestMetadata("SmartCast.kt")
        public void testSmartCast() throws Exception {
            runTest("testData/highlighter/SmartCast.kt");
        }

        @TestMetadata("Suspend.kt")
        public void testSuspend() throws Exception {
            runTest("testData/highlighter/Suspend.kt");
        }

        @TestMetadata("SyntheticExtensionProperty.kt")
        public void testSyntheticExtensionProperty() throws Exception {
            runTest("testData/highlighter/SyntheticExtensionProperty.kt");
        }

        @TestMetadata("Todo.kt")
        public void testTodo() throws Exception {
            runTest("testData/highlighter/Todo.kt");
        }

        @TestMetadata("TooManyArguments.kt")
        public void testTooManyArguments() throws Exception {
            runTest("testData/highlighter/TooManyArguments.kt");
        }

        @TestMetadata("TopLevelDestructuring.kt")
        public void testTopLevelDestructuring() throws Exception {
            runTest("testData/highlighter/TopLevelDestructuring.kt");
        }

        @TestMetadata("TopLevelOpenSuspendFun.kt")
        public void testTopLevelOpenSuspendFun() throws Exception {
            runTest("testData/highlighter/TopLevelOpenSuspendFun.kt");
        }

        @TestMetadata("TypeAlias.kt")
        public void testTypeAlias() throws Exception {
            runTest("testData/highlighter/TypeAlias.kt");
        }

        @TestMetadata("TypeAlias2.kt")
        public void testTypeAlias2() throws Exception {
            runTest("testData/highlighter/TypeAlias2.kt");
        }

        @TestMetadata("TypeAliasAnnotation.kt")
        public void testTypeAliasAnnotation() throws Exception {
            runTest("testData/highlighter/TypeAliasAnnotation.kt");
        }

        @TestMetadata("TypesAndAnnotations.kt")
        public void testTypesAndAnnotations() throws Exception {
            runTest("testData/highlighter/TypesAndAnnotations.kt");
        }

        @TestMetadata("Variables.kt")
        public void testVariables() throws Exception {
            runTest("testData/highlighter/Variables.kt");
        }

        @TestMetadata("VariablesAsFunctions.kt")
        public void testVariablesAsFunctions() throws Exception {
            runTest("testData/highlighter/VariablesAsFunctions.kt");
        }

        @TestMetadata("VariablesWithSetter.kt")
        public void testVariablesWithSetter() throws Exception {
            runTest("testData/highlighter/VariablesWithSetter.kt");
        }
    }
}
